#ifndef __OPCODES_H__
#define __OPCODES_H__
#include <string>
using namespace std;

#define sOpcodeMgr OpcodeClientHandler::GetInstance()


enum Opcodes
{
	OPCODE_NONE = 0,
	CMSG_PLAYER_LOGIN_CHECK_ACCOUNT			= 1,
	SMSG_PLAYER_LOGIN_CHECK_ACCOUNT			= 2,
	CMSG_SEND_BUILD_PLAYER_REQUIRE			= 3,
	SMSG_SEND_BUILD_PLAYER_REQUIRE			= 4,
	CMSG_GET_CHARACTER_INFO					= 5,
	SMSG_GET_CHARACTER_INFO					= 6,
	CMSG_PLAYER_GET_ACHMENT_DATA			= 7,
	SMSG_PLAYER_GET_ACHMENT_DATA			= 8,
	CMSG_NEXT_PACKET_REQUIRE = 9999,
};



class OpcodeClientHandler
{
public:
	OpcodeClientHandler();
	~OpcodeClientHandler();

	static OpcodeClientHandler* GetInstance();
	void MessageComming(std::string& _msg);
	std::string SplitPacket(std::string& WorldPacket);

	void HandleServerLoginRecvOpcode(std::string& WorldPacket);
	void HandleRecvCharacterOpcode(std::string& _packet);
	void HandleRecvCharacterDetail(std::string& _packet);
private:
};


#endif